import { configureStore } from '@reduxjs/toolkit';

import AuthenticationSlice from '@/shared/redux/authentication-slice';

const store = configureStore({
  reducer: {
    authentication: AuthenticationSlice.reducer,
  },
});

export default store;

// Infer the `RootState` and `AppDispatch` types from the store itself
export type RootState = ReturnType<typeof store.getState>;

// Inferred type: {posts: PostsState, comments: CommentsState, users: UsersState}
export type AppDispatch = typeof store.dispatch;
